#include <stdio.h>
#include <stdlib.h>

#ifdef _WIN32
#include <direct.h> // Windows 上的 _getcwd
#define GETCWD _getcwd
#else
#include <unistd.h> // Unix/Linux/macOS 上的 getcwd
#define GETCWD getcwd
#endif

int main()
{
    char *buffer;
    size_t size = 1024; // 缓冲区大小

    // 分配内存
    buffer = (char *)malloc(size);
    if (buffer == NULL)
    {
        perror("malloc failed");
        return 1;
    }

    // 获取当前工作目录
    if (GETCWD(buffer, size) == NULL)
    {
        perror("getcwd failed");
        free(buffer);
        return 1;
    }

    // 打印当前路径
    printf("当前路径: %s\n", buffer);

    // 释放内存
    free(buffer);

    return 0;
}